package com.micro.school.system.api.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 学生预缴费管理(PayStudentPrepayment)实体类
 *
 * @author makejava
 * @since 2025-08-15 15:18:19
 */
public class PayStudentPrepaymentVos implements Serializable {
    private static final long serialVersionUID = 783492601279406669L;
/**
     * 主键
     */
    private Integer id;
/**
     * 账单号/订单号（唯一）
     */
    private String billNo;
/**
     * 学生id
     */
    private Integer studentId;
/**
     * 学生姓名
     */
    private String studentName;

    /**
     * 学生身份证号
     */
    private String idNumber;
/**
     * 校区ID
     */
    private Long campusId;
/**
     * 校区名称
     */
    private String campusName;
/**
     * 学院ID
     */
    private Long collegeId;
/**
     * 学院名
     */
    private String collegeName;
/**
     * 模式ID
     */
    private Long modelId;
/**
     * 模式名
     */
    private String modelName;
/**
     * 专业ID
     */
    private Long majorId;
/**
     * 专业名
     */
    private String majorName;
/**
     * 学制
     */
    private String studyPeriod;
/**
     * 年级id
     */
    private Long gradeId;
/**
     * 年级名
     */
    private String gradeName;
/**
     * 收费学年ID
     */
    private Integer feeYearId;
/**
     * 收费学年名称
     */
    private String feeYear;
/**
     * 预缴费项目: 来源于与缴费项目表
     */
    private Integer subjectId;
/**
     * 预缴费项目名
     */
    private String projectName;
/**
     * 支付方式: 10现金
     */
    private String prepaymentMethod;
/**
     * 收费金额
     */
    private BigDecimal chargeAmount;
/**
     * 抵扣金额
     */
    private BigDecimal deductionAmount;
/**
     * 支付状态: 10未支付,20已支付,30部分支付
     */
    private Integer paymentStatus;
/**
     * 归集状态: 10未归集,30已归集
     */
    private Integer collectionStatus;
/**
     * 资金归集完成时间
     */
    private Date collectedTime;
/**
     * 最近支付时间
     */
    private Date lastPaidTime;
/**
     * 租户id
     */
    private Integer tenantId;
/**
     * 删除标记0正常 1已删除
     */
    private String deleteFlag;
/**
     * 创建部门
     */
    private Long createDept;
/**
     * 创建者
     */
    private String createBy;
/**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
/**
     * 更新者
     */
    private String updateBy;
/**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
/**
     * 备注
     */
    private String remark;
    /**
     * 0未作废1已作废
     */
    private Integer isCancel;
    /**
     * 账单完成时间
     *
     * */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;

    public Date getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    public Integer getIsCancel() {
        return isCancel;
    }

    public void setIsCancel(Integer isCancel) {
        this.isCancel = isCancel;
    }

    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public Integer getStudentId() {
        return studentId;
    }

    public void setStudentId(Integer studentId) {
        this.studentId = studentId;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public Long getCampusId() {
        return campusId;
    }

    public void setCampusId(Long campusId) {
        this.campusId = campusId;
    }

    public String getCampusName() {
        return campusName;
    }

    public void setCampusName(String campusName) {
        this.campusName = campusName;
    }

    public Long getCollegeId() {
        return collegeId;
    }

    public void setCollegeId(Long collegeId) {
        this.collegeId = collegeId;
    }

    public String getCollegeName() {
        return collegeName;
    }

    public void setCollegeName(String collegeName) {
        this.collegeName = collegeName;
    }

    public Long getModelId() {
        return modelId;
    }

    public void setModelId(Long modelId) {
        this.modelId = modelId;
    }

    public String getModelName() {
        return modelName;
    }

    public void setModelName(String modelName) {
        this.modelName = modelName;
    }

    public Long getMajorId() {
        return majorId;
    }

    public void setMajorId(Long majorId) {
        this.majorId = majorId;
    }

    public String getMajorName() {
        return majorName;
    }

    public void setMajorName(String majorName) {
        this.majorName = majorName;
    }

    public String getStudyPeriod() {
        return studyPeriod;
    }

    public void setStudyPeriod(String studyPeriod) {
        this.studyPeriod = studyPeriod;
    }

    public Long getGradeId() {
        return gradeId;
    }

    public void setGradeId(Long gradeId) {
        this.gradeId = gradeId;
    }

    public String getGradeName() {
        return gradeName;
    }

    public void setGradeName(String gradeName) {
        this.gradeName = gradeName;
    }

    public Integer getFeeYearId() {
        return feeYearId;
    }

    public void setFeeYearId(Integer feeYearId) {
        this.feeYearId = feeYearId;
    }

    public String getFeeYear() {
        return feeYear;
    }

    public void setFeeYear(String feeYear) {
        this.feeYear = feeYear;
    }

    public Integer getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(Integer subjectId) {
        this.subjectId = subjectId;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getPrepaymentMethod() {
        return prepaymentMethod;
    }

    public void setPrepaymentMethod(String prepaymentMethod) {
        this.prepaymentMethod = prepaymentMethod;
    }

    public BigDecimal getChargeAmount() {
        return chargeAmount;
    }

    public void setChargeAmount(BigDecimal chargeAmount) {
        this.chargeAmount = chargeAmount;
    }

    public BigDecimal getDeductionAmount() {
        return deductionAmount;
    }

    public void setDeductionAmount(BigDecimal deductionAmount) {
        this.deductionAmount = deductionAmount;
    }

    public Integer getPaymentStatus() {
        return paymentStatus;
    }

    public void setPaymentStatus(Integer paymentStatus) {
        this.paymentStatus = paymentStatus;
    }

    public Integer getCollectionStatus() {
        return collectionStatus;
    }

    public void setCollectionStatus(Integer collectionStatus) {
        this.collectionStatus = collectionStatus;
    }

    public Date getCollectedTime() {
        return collectedTime;
    }

    public void setCollectedTime(Date collectedTime) {
        this.collectedTime = collectedTime;
    }

    public Date getLastPaidTime() {
        return lastPaidTime;
    }

    public void setLastPaidTime(Date lastPaidTime) {
        this.lastPaidTime = lastPaidTime;
    }

    public Integer getTenantId() {
        return tenantId;
    }

    public void setTenantId(Integer tenantId) {
        this.tenantId = tenantId;
    }

    public String getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(String deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    public Long getCreateDept() {
        return createDept;
    }

    public void setCreateDept(Long createDept) {
        this.createDept = createDept;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

}

